home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / 福袋 / 注釈付ヘッダ / PRINT.H < prev    next >
Text File  |  1994-02-20  |  7KB  |  234 lines

  1. /*
  2.  * print.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
  3.  */
  4. #ifndef __PRINT_H
  5. #define __PRINT_H
  6.  
  7. #ifndef __SXDEF2_H
  8. #include <sxdef2.h>
  9. #endif
  10.  
  11. #ifdef FORWORD
  12. #define __PROTO_TYPE
  13. #endif
  14. #ifdef __STDC__
  15. #define __PROTO_TYPE
  16. #endif
  17.  
  18. typedef enum PaperKind    PaperKind;    /* 用紙の種類            */
  19. typedef enum PaperOption PaperOption;    /* オプション装置の種類        */
  20. typedef enum PColorKind    PColorKind;    /* カラー印刷の色種類        */
  21. typedef enum PDrvrCommand PDrvrCommand;    /* プリンタドライバコマンド    */
  22. typedef enum PDrvrCtrl    PDrvrCtrl;    /* ドライバコントロール        */
  23. typedef enum PrinterState PrinterState;    /* プリンタの状態        */
  24. typedef enum PrintCtrl    PrintCtrl;    /* プリントコントロール        */
  25. typedef enum PrintState    PrintState;    /* 印刷の状態            */
  26.  
  27. typedef struct Print    Print;        /* プリントレコード        */
  28. typedef struct PDrvrInfo PDrvrInfo;    /* プリンタドライバ情報レコード    */
  29. /*
  30.  *    プリントマン (Print Man)
  31.  */
  32. #define P_DEFAULT    (-1)        /* デフォルト        */
  33.  
  34. enum PaperKind {            /* 用紙の種類        */
  35.     P_FREE,                /* フリーサイズ        */
  36.     P_A3,                /* A3用紙縦置き        */
  37.     P_A3R,                /* A3用紙横置き        */
  38.     P_A4,                /* A4用紙縦置き        */
  39.     P_A4R,                /* A4用紙横置き        */
  40.     P_A5,                /* A5用紙縦置き        */
  41.     P_A5R,                /* A5用紙横置き        */
  42.     P_B3,                /* B3用紙縦置き        */
  43.     P_B3R,                /* B3用紙横置き        */
  44.     P_B4,                /* B4用紙縦置き        */
  45.     P_B4R,                /* B4用紙横置き        */
  46.     P_B5,                /* B5用紙縦置き        */
  47.     P_B5R,                /* B5用紙横置き        */
  48.     P_10X11,            /* 10×11インチ連続用紙    */
  49.     P_15X11,            /* 15×11インチ連続用紙    */
  50.     P_LETTER,            /* ハガキ縦置き        */
  51.     P_LETTERR            /* ハガキ横置き        */
  52. };
  53.  
  54. enum PaperOption {            /* オプション装置の種類    */
  55.     P_NONE,                /* オプション装置なし    */
  56.     P_TRACTOR,            /* トラクタフィーダ    */
  57.     P_CUTSHEET,            /* カットシートフィーダ    */
  58.     P_LETSHEET            /* ハガキフィーダ    */
  59. };
  60.  
  61. /* ビットイメージ出力フラグ */
  62. #define P_GAIJI        1        /* 外字            */
  63. #define P_RSV        (1 << 1)    /* システム予約        */
  64. #define P_KANJI2    (1 << 2)    /* 全角JIS第2水準漢字    */
  65. #define P_KANJI1    (1 << 3)    /* 全角JIS第1水準漢字    */
  66. #define P_ANK        (1 << 4)    /* 半角文字        */
  67.  
  68. enum PColorKind {            /* カラー印刷の色種類    */
  69.     P_MONO,                /* モノクロ印刷        */
  70.     P_COLORBIT1            /* カラー8色印刷    */
  71. };
  72.  
  73. /* 印刷モード */
  74. #define P_DRAFT        1        /* ドラフト印刷        */
  75. #define P_COLOR        (1 << 1)    /* カラー印刷        */
  76.  
  77. enum PDrvrCommand {            /* プリンタドライバコマンド    */
  78.     PD_INIT,            /* プリンタドライバの初期化    */
  79.     PD_TINI,            /* プリンタドライバの終了    */
  80.     PD_CTRL,            /* プリンタの直接制御        */
  81.     PD_DEFAULT,            /* プリントレコードのデフォルト値設定 */
  82.     PD_VALIDATE,            /* プリントレコードの内容チェック */
  83.     PD_IMGDLOG,            /* ページ印刷用の印刷環境設定ダイアログ
  84.                        のオープン            */
  85.     PD_STRDLOG,            /* コード印刷用の印刷環境設定ダイアログ
  86.                        のオープン            */
  87.     PD_OPENIMG    =   8,        /* ページ印刷用のグラフレコードの作成 */
  88.     PD_RECORDPG,            /* ページ印刷用のグラフスクリプトの
  89.                        記録開始            */
  90.     PD_PRINTPG,            /* ページ印刷用のグラフスクリプトの
  91.                        記録終了とページ印刷の開始    */
  92.     PD_ACTION,            /* プリントコントロール        */
  93.     PD_CLOSEIMG,            /* ページ印刷の終了        */
  94.     PD_PRINTSTR,            /* コード印刷の開始        */
  95.     PD_VERSION,            /* プリンタドライバのバージョン取得 */
  96.     PD_MAXRECT,            /* 印刷可能な最大範囲の取得    */
  97.     PD_STATE    /* 16 */    /* プリンタ状態の取得        */
  98. };
  99.  
  100. enum PDrvrCtrl {            /* ドライバコントロール        */
  101.     PD_RESET,            /* プリンタの初期化        */
  102.     PD_CRLF,            /* 改行                */
  103.     PD_FF,                /* 改ページ            */
  104.     PD_THRU                /* データの出力            */
  105. };
  106.  
  107. enum PrinterState {            /* プリンタの状態        */
  108.     P_BUSY,                /* 印刷不可            */
  109.     P_READY                /* 印刷可能            */
  110. };
  111.  
  112. enum PrintCtrl {            /* プリントコントロール        */
  113.     P_STAT,                /* 印刷を続行する        */
  114.     P_END,                /* 印刷を終了する        */
  115.     P_STOP,                /* 印刷を中断する        */
  116.     P_CONT                /* 印刷を再開する        */
  117. };
  118.  
  119. enum PrintState {            /* 印刷の状態            */
  120.     P_ERROR        = -1,        /* 印刷が終了した        */
  121.     P_FINISH,            /* 印刷中            */
  122.     P_WORKING,            /* 印刷が中断した        */
  123.     P_RESTING,            /* タイムアウト発生        */
  124.     P_TIMEOUT            /* エラー発生            */
  125. };
  126.  
  127. struct Print {                /* プリントレコード        */
  128.     short paperKind;        /* 用紙の種類            */
  129.     short paperOption;        /* オプション装置の種類        */
  130.     Rect paperRect;            /* 用紙のサイズ            */
  131.     Rect limitRect;            /* 印刷可能範囲を示すレクタングル */
  132.     Rect pageRect;            /* 印刷範囲を示すレクタングル    */
  133.     char paperRsv[8];        /* システム予約            */
  134.     short docImage;            /* ビットイメージ出力フラグ    */
  135.     short docColumn;        /* 1行の文字数            */
  136.     short docLine;            /* 1ページの行数        */
  137.     short docTab;            /* タブ幅            */
  138.     short docHeight;        /* 改行幅            */
  139.     char docRsv[8];            /* システム予約            */
  140.     Point res;            /* 縦横の解像度            */
  141.     Point ANKSize;            /* 半角文字のサイズ        */
  142.     Point kanjiSize;        /* 全角文字のサイズ        */
  143.     short colorKind;        /* カラー印刷の色種類        */
  144.     char prnRsv[8];            /* システム予約            */
  145.     unsigned short manVer;        /* プリントマンのバージョン    */
  146.     char manRsv[8];            /* システム予約            */
  147.     unsigned short drvVer;        /* プリンタドライバのバージョン    */
  148.     char drvRsv[8];            /* システム予約            */
  149.     short minPage;            /* 印刷範囲開始ページ        */
  150.     short maxPage;            /* 印刷範囲終了ページ        */
  151.     long userData;            /* ユーザー用のデータ        */
  152.     char userRsv[8];        /* ユーザー用のワークエリア    */
  153.     short fstPage;            /* 印刷開始ページ        */
  154.     short lstPage;            /* 印刷終了ページ        */
  155.     short dupPage;            /* 1ページの印刷枚数        */
  156.     short mode;            /* 印刷モード            */
  157.     short mask;            /* 印刷モードのマスク        */
  158.     char jobRsv[8];            /* システム予約            */
  159.     short pageCount;        /* 現在印刷中のページ        */
  160.     short dupCount;            /* 現在印刷中の部数        */
  161.     char workRsv[8];        /* システム予約            */
  162. };
  163.  
  164. struct PDrvrInfo {            /* プリンタドライバ情報レコード    */
  165.     short ID;            /* リソースPRTDのID        */
  166.     unsigned short version;        /* ドライバのバージョン        */
  167.     char name[44];            /* ドライバ名(ASCIIZ型文字列)    */
  168. };
  169.  
  170. #ifdef __PROTO_TYPE
  171.  
  172. int PMInit(void);
  173. int PMTini(void);
  174. int PMOpen(int);
  175. int PMClose(void);
  176. int PMSetDefault(Print **);
  177. int PMValidate(Print **);
  178. int PMImageDialog(Print **);
  179. int PMStrDialog(Print **);
  180. int PMEnvCopy(Print **, Print **);
  181. int PMJobCopy(Print **, Print **);
  182. Graph *PMOpenImage(Print **);
  183. int PMRecordPage(Rect *);
  184. int PMPrintPage(void);
  185. int PMCancelPage(void);
  186. int PMAction(int);
  187. int PMCloseImage(void);
  188. int PMDrawString(Print **, char **, long, int);
  189. int PMVer(void);
  190. int PMDrvrVer(void);
  191. int PMDrvrCtrl(int, ...);
  192. int PMDrvrID(void);
  193. _Handle PMDrvrHdl(void);
  194. int PMMaxRect(Print **, int, Rect *);
  195. int PMSaveEnv(Print **);
  196. int PMReady(void);
  197. int PMProcPrint(Print **, int (*)(Print **, Rect *));
  198. int PMDrvrInfo(int, PDrvrInfo *);
  199.  
  200. #undef __PROTO_TYPE
  201. #else
  202.  
  203. int PMInit();
  204. int PMTini();
  205. int PMOpen();
  206. int PMClose();
  207. int PMSetDefault();
  208. int PMValidate();
  209. int PMImageDialog();
  210. int PMStrDialog();
  211. int PMEnvCopy();
  212. int PMJobCopy();
  213. Graph *PMOpenImage();
  214. int PMRecordPage();
  215. int PMPrintPage();
  216. int PMCancelPage();
  217. int PMAction();
  218. int PMCloseImage();
  219. int PMDrawString();
  220. int PMVer();
  221. int PMDrvrVer();
  222. int PMDrvrCtrl();
  223. int PMDrvrID();
  224. _Handle PMDrvrHdl();
  225. int PMMaxRect();
  226. int PMSaveEnv();
  227. int PMReady();
  228. int PMProcPrint();
  229. int PMDrvrInfo();
  230.  
  231. #endif __PROTO_TYPE
  232.  
  233. #endif __PRINT_H
  234.